//
//  MatchViewController.swift
//  WeiBoDemo
//
//  Created by mac on 2017/11/14.
//  Copyright © 2017年 mac. All rights reserved.
//

import UIKit

class MatchViewController: BaseViewController {

    //Mark： - 系统调用方法
    private lazy var titleBtn : TitleButton = TitleButton.init()
    //获取到工具动画工具
    //注意：如果自定义一个构造函数，但是没有对默认构造函数init（）进行重写，那么自定义的构造函数会覆盖默认的init（）构造函数
    //在闭包中如果使用当前对象的属性或者调用方法，也需要加self
    //两个地方需要使用self： 1.如果在一个函数中出现歧义 2.在闭包中使用当前对象的属性和方法也需要加self
    //循环引用问题。此处出现循环引用问题
    //解决办法 在闭包的第一个大括号后面加[weak self]这句话 并且括号里的代码的self后面加？或者！号
    private lazy var popoverAnimator : PopoverAnimator = PopoverAnimator {[weak self] (presented) -> () in
        self?.titleBtn.isSelected = presented
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

        //1. 没有登录时设置的内容
        visitorView.addRotationAnim()
        if !isLogin {
            return
        }
        //2.设置导航栏的内容
        setupNavigationBar()
    }
}

//MARK : - 设置UI界面
extension MatchViewController{
    private func setupNavigationBar() {
        //1.设置左侧的Item
        navigationItem.leftBarButtonItem = UIBarButtonItem.init(imageName: "navigationbar_friendattention")
        //2.设置右侧Item
//        let rightBtn = UIButton()
//        rightBtn.setImage(UIImage.init(named: "navigationbar_pop"), for: .normal)
//        rightBtn.setImage(UIImage.init(named: "navigationbar_pop_highlighted"), for: .highlighted)
//        rightBtn.sizeToFit()
//        navigationItem.rightBarButtonItem = UIBarButtonItem.init(customView: rightBtn)
        navigationItem.rightBarButtonItem = UIBarButtonItem.init(imageName: "navigationbar_pop")
        //3.设置titleView
        titleBtn.setImage(UIImage.init(named: "navigationbar_arrow_down"), for: .normal)
        titleBtn.setImage(UIImage.init(named: "navigationbar_arrow_up"), for: .selected)
        titleBtn.setTitleColor(UIColor.black, for: .normal)
        titleBtn.setTitle("coderwhy", for: .normal)
        titleBtn.addTarget(self, action: #selector(MatchViewController.titleBtnClick(titleBtn:)), for: .touchUpInside)
        navigationItem.titleView = titleBtn
    }
}

//MARK: - 事件监听的函数
extension MatchViewController{
    @objc private func titleBtnClick(titleBtn : TitleButton){

        //1.创建弹出的控制器
        let vc = PopverViewController()
        //2.设置控制器model样式
        vc.modalPresentationStyle = .custom
//        vc.view.backgroundColor = UIColor.purple
        //3.设置转场的代理
               //设置工具为代理
        vc.transitioningDelegate = popoverAnimator
        popoverAnimator.presentedFrame = CGRect.init(x: 100, y: 55, width: 180, height: 255)
//        vc.modalTransitionStyle =
        //4.弹出控制器
        present(vc, animated: true, completion: nil)
        
    }
}

